/**
 * Por Joshua
 * Descripcion o proposito
 * @class namespace
 *
 * @extends clasePadre
 * @autor Ing. Josue Hernandez Gomez<br>
 *        joshua@extjs.mx<br>
 *        http://www.joshua.com.mx
 * @fecha 12/9/12 1:20 PM. Mexico DF
 */

Ext.ns("enlace.envios");

enlace.envios.GridEnvios= Ext.extend(Extmx.GridPanel, {

    initComponent: function (){

        var store= this.getStore();
        //console.info(joshua.hidden);
        Ext.apply(this,{
            tbar:new Ext.Toolbar({
                    hidden:joshua.login=="Tomas"?false: true,
                    items:[
                        '<div id="cosTotalGrid" style="font-size:13pt;font-weight:bold;"><b>Costo Total:</b>$0.00 Dlls</div>','->',
                        '<div id="cosPaginaGrid" style="font-size:13pt;font-weight:bold;"><b>Costo Pagina: </b>$0.00 Dlls</div>']
                }),
            store: store,
            //autoExpandColumn: 'auoc'+this.id,
            columns:[
                new Ext.grid.RowNumberer(),
                
                {header: joshua.util.icono.boleto+' Guia',width:195,dataIndex: 'id_envio',menuDisabled: true,renderer:this.coloreafila},
                {header: joshua.util.icono.remitente+' Remitente',width:185,dataIndex: 'remitente',menuDisabled: true},
                {header: joshua.util.icono.destinatario	+' Destinatario',width:185,dataIndex: 'destinatario',menuDisabled: true},
                {header: joshua.util.icono.dinero+' Costo',dataIndex: 'costo',width:145,menuDisabled: true}
            ],
            bbar: new Ext.PagingToolbar({
                    pageSize: 25,
                    store: store,
                    displayInfo: true,
                    displayMsg: 'Del {0} - {1} de {2}',
                    emptyMsg: "No existen registros"
                })
        });

        enlace.envios.GridEnvios.superclass.initComponent.apply(this,arguments);
    },

    getStore: function (){
        return new Ext.data.JsonStore({
            url: 'Servicios/s.php',
            method: 'POST',
            root: 'data',
            baseParams:{
                cmd:'grid',
                className:'Envio',
                condiciones:"{}"
            },
            totalProperty: 'numFilas',
            fields: ['costo_total', 'prefijo','id','estatus','id_envio','costopesos',
                'fecha','remitente','destinatario','costo','estatus_estadisticas'],
            listeners:{
                load: function(store,record) {
                    var tto_pesos= 0;
                    store.each(function (rrec){
                        //console.info(rrec);
                        tto_pesos += parseFloat(rrec.json.costopesos);
                    });

                    setTimeout(function(){
                    var costoTotal=Ext.get('cosTotalGrid');
                    var costoPagina=Ext.get('cosPaginaGrid');

                    costoTotal.update('<b>Costo Total: '+store.reader.jsonData.costo_total+'</b>').slideIn('l');
                    costoPagina.update('<b>Costo de pagina: '+store.reader.jsonData.costo_pagina+'</b> ('+Ext.util.Format.usMoney(tto_pesos)+' Pesos)').slideIn('l');

                    //actualizar las estadisticas de los estatus si se ven las estadisticas panel
                    /*if(Ext.getCmp('panel_estads').isVisible()){
                        var f=eval(store.reader.jsonData.estatus_estadisticas);//generateData();
                        Ext.getCmp('char_estatus_estadisticas').store.loadData(generateDataEstatus(f));
                    }*/
                    },100);
                }
            }
        });
    },

    coloreafila:function (data,cell,record,index,columnindex,store){

        var d=record.get('estatus');

        switch(d){
            case 'Conflicto':cell.css='filaRoja';
                break;
            case 'Listo para entregar':cell.css='filaAzul';
                break;
            case 'Listo para embarque':cell.css='filaVerde';
                break;
            case 'En transito':cell.css='filaAmarillo';
                break;
        }
        return data;
    },

    imprimirGrid: function (){
        var _4="Impresion/Lista_envios.php?s="+this.store.baseParams.condiciones;
       /*Ext.DomHelper.append(Ext.getBody() , {
            tag: 'iframe',
            frameBorder: 0,
            width:0,
            height:0,
            fitToFrame:false,
            src: _4
        });*/
        window.open(_4,"Impresion","width=800,height=450, scrollbars=yes, toolbar=no, directories=no, status=no, menubar=yes,location=no, resize=no, left=312, top=134");
    },

    imprimir: function (id){
        var _4="Impresion/Recibo_envio.php?ide="+id;
        window.open(_4,"Impresion","width=770,height=450, scrollbars=yes, toolbar=no, directories=no, status=no, menubar=yes,location=no, resize=no, left=312, top=134");
    },

    listar: function (_condiciones){
        _condiciones=(_condiciones==undefined)?'':_condiciones;

        this.store.baseParams.condiciones=_condiciones;

        this.store.reload({
            params:{
                start: 0,
                limit:joshua.PAGINA_CUANTOS,
                condiciones:_condiciones
            }
        });
    }

});
